Conventional document assembly systems such as used by lawyers to compose legal documents begin by asking a series of questions pertinent to the construction of the final document. The answers to these questions are then merged into the basic document or template to fill in designated blanks. These answers are also used to determine what clauses should be eliminated, added or repeated In these systems the answers are not directly inserted into the prewritten text or template. Rather, the answers are stored as responses to the questions. When a merge command is given then the answers are added to the template, after which the complete text--template with answers--can be called up and viewed. If at this point the user is dissatisfied with the answer as it appears inserted in the text, the question and answer mode must be accessed once again. Then the specific question whose answer is not satisfactory is called up again. A new answer is supplied and then once again the system must be switched to the merge mode, after which a complete form of the text with the new answer can be viewed. Separation of the answering function and the merge and display functions makes the system unable to present the answers in their textual context while the question and answer cycle is operating. This is an especially troublesome feature when the system is being used to draft complicated documents such as legal instruments.
Further, these systems require that the location of the question blanks in the text be mapped so that their position can be ascertained in spite of shifts in location due to variations in the lengths of answers and/or the inclusion, omission or repetition of optional decisional clauses. This mapping feature requires substantial computing power and memory size, and tends to make the system cumbersome and slow in addition to compelling a separation of the answer and the merge modes.